#ifndef __MATRIX__
#define __MATRIX__

/*
    图的存储，使用邻接矩阵
    对于无权图，1表示边存在，0表示边不存在
    对于有权图，0或无穷表示边不存在，其他值表示权值
        一般的，0表示到自己的距离，无穷表示两个不同顶点不存在边
*/  
#include<stdio.h>
#include<stdlib.h>
const int MaxVertexNum=100;//最大顶点个数，用于初始化
typedef char VertexType;//节点数据类型
typedef int EdgeType;//边类型

typedef struct {
    VertexType vex[MaxVertexNum];//顶点表，一般存的是节点的名称如a,b,c,d，但是算法操作的时候，一般还是用下标
    //邻接表[i][j]，对于无权值的图，1表示顶点i到顶点j有边
    EdgeType edge[MaxVertexNum][MaxVertexNum];//邻接表
    int vernum,arcnum;//顶点数和边数
}MGraph;


// void showGraphic(MGraph m){

//     for(int i=0;i<n;i++){
//         for(int j=0;j<n;j++){
//             printf("%d\t",m.edge[i][j]);
//         }
//         printf("\n");
//     }
// }
// #define pass
// void initGraph(MGraph* m){
//     pass
// }

// int main(int argc,char* argv[]){
//     MGraph m;
//     initGraph(&m);
//     showGraphic(m);
    
//     return 0;
// }

#endif